/*
 * @lc app=leetcode.cn id=204 lang=javascript
 *
 * [204] 计数质数
 */

// @lc code=start
/**
 * @param {number} n
 * @return {number}
 */
var countPrimes = function (n) {
  let count = 0;
  if (n > 2) count = 1;

  // m+1是偶数，大于2的偶数必然不是素数，所以这里可以直接m+2
  for (let m = 3; m < n; m += 2) {
    if (isPrime(m)) {
      count += 1;
    }
  }

  return count;
};

var isPrime = function (n) {
  for (let i = 2; i * i <= n; ++i) {
    if (n % i == 0) {
      return false;
    }
  }
  return true;
};
// @lc code=end

// @after-stub-for-debug-begin
module.exports = countPrimes;
// @after-stub-for-debug-end
